// -*- C++ -*-  Copyright (c) Microsoft Corporation; see license.txt
#ifndef MESH_PROCESSING_LIBHH_COLOR_RAMP_H_
#define MESH_PROCESSING_LIBHH_COLOR_RAMP_H_

#include "libHh/Array.h"
#include "libHh/Pixel.h"

namespace hh {

static const Array<Pixel> k_color_ramp = {
    Pixel(0, 127, 0, 255),     Pixel(2, 128, 0, 255),     Pixel(4, 129, 0, 255),     Pixel(6, 130, 0, 255),
    Pixel(8, 131, 0, 255),     Pixel(10, 132, 0, 255),    Pixel(12, 133, 0, 255),    Pixel(14, 135, 0, 255),
    Pixel(16, 136, 0, 255),    Pixel(18, 137, 0, 255),    Pixel(20, 138, 0, 255),    Pixel(22, 139, 0, 255),
    Pixel(24, 140, 0, 255),    Pixel(26, 141, 0, 255),    Pixel(28, 142, 0, 255),    Pixel(30, 143, 0, 255),
    Pixel(32, 144, 0, 255),    Pixel(34, 145, 0, 255),    Pixel(36, 146, 0, 255),    Pixel(38, 147, 0, 255),
    Pixel(40, 148, 0, 255),    Pixel(42, 149, 0, 255),    Pixel(44, 150, 0, 255),    Pixel(46, 151, 0, 255),
    Pixel(48, 152, 0, 255),    Pixel(50, 153, 0, 255),    Pixel(52, 154, 0, 255),    Pixel(54, 155, 0, 255),
    Pixel(56, 156, 0, 255),    Pixel(58, 157, 0, 255),    Pixel(60, 158, 0, 255),    Pixel(62, 159, 0, 255),
    Pixel(64, 160, 0, 255),    Pixel(66, 161, 0, 255),    Pixel(68, 162, 0, 255),    Pixel(70, 163, 0, 255),
    Pixel(72, 164, 0, 255),    Pixel(74, 165, 0, 255),    Pixel(76, 166, 0, 255),    Pixel(78, 167, 0, 255),
    Pixel(80, 168, 0, 255),    Pixel(82, 169, 0, 255),    Pixel(84, 170, 0, 255),    Pixel(86, 171, 0, 255),
    Pixel(88, 172, 0, 255),    Pixel(90, 173, 0, 255),    Pixel(92, 174, 0, 255),    Pixel(94, 175, 0, 255),
    Pixel(96, 176, 0, 255),    Pixel(98, 177, 0, 255),    Pixel(100, 178, 0, 255),   Pixel(102, 179, 0, 255),
    Pixel(104, 180, 0, 255),   Pixel(106, 181, 0, 255),   Pixel(108, 182, 0, 255),   Pixel(110, 183, 0, 255),
    Pixel(112, 184, 0, 255),   Pixel(114, 185, 0, 255),   Pixel(116, 186, 0, 255),   Pixel(118, 187, 0, 255),
    Pixel(120, 188, 0, 255),   Pixel(122, 189, 0, 255),   Pixel(124, 190, 0, 255),   Pixel(126, 191, 0, 255),
    Pixel(128, 192, 0, 255),   Pixel(130, 193, 0, 255),   Pixel(132, 194, 0, 255),   Pixel(135, 195, 0, 255),
    Pixel(137, 196, 0, 255),   Pixel(139, 197, 0, 255),   Pixel(141, 198, 0, 255),   Pixel(143, 199, 0, 255),
    Pixel(145, 200, 0, 255),   Pixel(147, 201, 0, 255),   Pixel(149, 202, 0, 255),   Pixel(151, 203, 0, 255),
    Pixel(153, 204, 0, 255),   Pixel(155, 205, 0, 255),   Pixel(157, 206, 0, 255),   Pixel(159, 207, 0, 255),
    Pixel(161, 208, 0, 255),   Pixel(163, 209, 0, 255),   Pixel(165, 210, 0, 255),   Pixel(167, 211, 0, 255),
    Pixel(169, 212, 0, 255),   Pixel(171, 213, 0, 255),   Pixel(173, 214, 0, 255),   Pixel(175, 215, 0, 255),
    Pixel(177, 216, 0, 255),   Pixel(179, 217, 0, 255),   Pixel(181, 218, 0, 255),   Pixel(183, 219, 0, 255),
    Pixel(185, 220, 0, 255),   Pixel(187, 221, 0, 255),   Pixel(189, 222, 0, 255),   Pixel(191, 223, 0, 255),
    Pixel(193, 224, 0, 255),   Pixel(195, 225, 0, 255),   Pixel(197, 226, 0, 255),   Pixel(199, 227, 0, 255),
    Pixel(201, 228, 0, 255),   Pixel(203, 229, 0, 255),   Pixel(205, 230, 0, 255),   Pixel(207, 231, 0, 255),
    Pixel(209, 232, 0, 255),   Pixel(211, 233, 0, 255),   Pixel(213, 234, 0, 255),   Pixel(215, 235, 0, 255),
    Pixel(217, 236, 0, 255),   Pixel(219, 237, 0, 255),   Pixel(221, 238, 0, 255),   Pixel(223, 239, 0, 255),
    Pixel(225, 240, 0, 255),   Pixel(227, 241, 0, 255),   Pixel(229, 242, 0, 255),   Pixel(231, 243, 0, 255),
    Pixel(233, 244, 0, 255),   Pixel(235, 245, 0, 255),   Pixel(237, 246, 0, 255),   Pixel(239, 247, 0, 255),
    Pixel(241, 248, 0, 255),   Pixel(243, 249, 0, 255),   Pixel(245, 250, 0, 255),   Pixel(247, 251, 0, 255),
    Pixel(249, 252, 0, 255),   Pixel(251, 253, 0, 255),   Pixel(253, 254, 0, 255),   Pixel(255, 255, 0, 255),
    Pixel(255, 255, 0, 255),   Pixel(255, 253, 2, 255),   Pixel(255, 251, 4, 255),   Pixel(255, 249, 6, 255),
    Pixel(255, 247, 8, 255),   Pixel(255, 245, 10, 255),  Pixel(255, 243, 12, 255),  Pixel(255, 241, 14, 255),
    Pixel(255, 239, 16, 255),  Pixel(255, 237, 18, 255),  Pixel(255, 235, 20, 255),  Pixel(255, 233, 22, 255),
    Pixel(255, 231, 24, 255),  Pixel(255, 229, 26, 255),  Pixel(255, 227, 28, 255),  Pixel(255, 225, 30, 255),
    Pixel(255, 223, 32, 255),  Pixel(255, 221, 34, 255),  Pixel(255, 219, 36, 255),  Pixel(255, 217, 38, 255),
    Pixel(255, 215, 40, 255),  Pixel(255, 213, 42, 255),  Pixel(255, 211, 44, 255),  Pixel(255, 209, 46, 255),
    Pixel(255, 207, 48, 255),  Pixel(255, 205, 50, 255),  Pixel(255, 203, 52, 255),  Pixel(255, 201, 54, 255),
    Pixel(255, 199, 56, 255),  Pixel(255, 197, 58, 255),  Pixel(255, 195, 60, 255),  Pixel(255, 193, 62, 255),
    Pixel(255, 191, 64, 255),  Pixel(255, 189, 66, 255),  Pixel(255, 187, 68, 255),  Pixel(255, 185, 70, 255),
    Pixel(255, 183, 72, 255),  Pixel(255, 181, 74, 255),  Pixel(255, 179, 76, 255),  Pixel(255, 177, 78, 255),
    Pixel(255, 175, 80, 255),  Pixel(255, 173, 82, 255),  Pixel(255, 171, 84, 255),  Pixel(255, 169, 86, 255),
    Pixel(255, 167, 88, 255),  Pixel(255, 165, 90, 255),  Pixel(255, 163, 92, 255),  Pixel(255, 161, 94, 255),
    Pixel(255, 159, 96, 255),  Pixel(255, 157, 98, 255),  Pixel(255, 155, 100, 255), Pixel(255, 153, 102, 255),
    Pixel(255, 151, 104, 255), Pixel(255, 149, 106, 255), Pixel(255, 147, 108, 255), Pixel(255, 145, 110, 255),
    Pixel(255, 143, 112, 255), Pixel(255, 141, 114, 255), Pixel(255, 139, 116, 255), Pixel(255, 137, 118, 255),
    Pixel(255, 135, 120, 255), Pixel(255, 132, 122, 255), Pixel(255, 130, 124, 255), Pixel(255, 128, 126, 255),
    Pixel(255, 126, 128, 255), Pixel(255, 124, 130, 255), Pixel(255, 122, 132, 255), Pixel(255, 120, 135, 255),
    Pixel(255, 118, 137, 255), Pixel(255, 116, 139, 255), Pixel(255, 114, 141, 255), Pixel(255, 112, 143, 255),
    Pixel(255, 110, 145, 255), Pixel(255, 108, 147, 255), Pixel(255, 106, 149, 255), Pixel(255, 104, 151, 255),
    Pixel(255, 102, 153, 255), Pixel(255, 100, 155, 255), Pixel(255, 98, 157, 255),  Pixel(255, 96, 159, 255),
    Pixel(255, 94, 161, 255),  Pixel(255, 92, 163, 255),  Pixel(255, 90, 165, 255),  Pixel(255, 88, 167, 255),
    Pixel(255, 86, 169, 255),  Pixel(255, 84, 171, 255),  Pixel(255, 82, 173, 255),  Pixel(255, 80, 175, 255),
    Pixel(255, 78, 177, 255),  Pixel(255, 76, 179, 255),  Pixel(255, 74, 181, 255),  Pixel(255, 72, 183, 255),
    Pixel(255, 70, 185, 255),  Pixel(255, 68, 187, 255),  Pixel(255, 66, 189, 255),  Pixel(255, 64, 191, 255),
    Pixel(255, 62, 193, 255),  Pixel(255, 60, 195, 255),  Pixel(255, 58, 197, 255),  Pixel(255, 56, 199, 255),
    Pixel(255, 54, 201, 255),  Pixel(255, 52, 203, 255),  Pixel(255, 50, 205, 255),  Pixel(255, 48, 207, 255),
    Pixel(255, 46, 209, 255),  Pixel(255, 44, 211, 255),  Pixel(255, 42, 213, 255),  Pixel(255, 40, 215, 255),
    Pixel(255, 38, 217, 255),  Pixel(255, 36, 219, 255),  Pixel(255, 34, 221, 255),  Pixel(255, 32, 223, 255),
    Pixel(255, 30, 225, 255),  Pixel(255, 28, 227, 255),  Pixel(255, 26, 229, 255),  Pixel(255, 24, 231, 255),
    Pixel(255, 22, 233, 255),  Pixel(255, 20, 235, 255),  Pixel(255, 18, 237, 255),  Pixel(255, 16, 239, 255),
    Pixel(255, 14, 241, 255),  Pixel(255, 12, 243, 255),  Pixel(255, 10, 245, 255),  Pixel(255, 8, 247, 255),
    Pixel(255, 6, 249, 255),   Pixel(255, 4, 251, 255),   Pixel(255, 2, 253, 255),   Pixel(255, 0, 255, 255),
};

}  // namespace hh

#endif  // MESH_PROCESSING_LIBHH_COLOR_RAMP_H_
